package com.api.shihua.action;

import com.api.shihua.cmd.RewardBaseService;
import com.api.shihua.entity.Reward;
import com.api.shihua.util.BaseUtil;
import com.api.shihua.util.LogTool;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.MainTableInfo;
import weaver.soa.workflow.request.Property;
import weaver.soa.workflow.request.RequestInfo;
import weaver.workflow.action.BaseAction;

import java.text.SimpleDateFormat;
import java.util.*;

/*
二级 分解必定必定存在  以及分解的 requestid
变更 总经理一级 二级分解   不会变更总经理分解（必须总经理，一级，二级 写入了建模才能变更 未写入不能变更）
一级分解  变更req_1 二级分解 变更req_2
不会变更总的金额 只会变更 金额的分配方式
情况1:个人分解  取消二级分解取消的数据，以及一级分解的所有的数据   新增以及分解数据
情况1:单位及分解  取消二级分解取消的数据，以及一级分解的所有的数据   新增以分解数据
情况1:大盘分解 取消二级分解取消的数据，以及一级分解的所有的数据   新增以及分解数据
 */
public class ChangeRewardAction extends BaseAction {
    private final static LogTool log = new LogTool("/log/zjl/",false);
    @Override
    public String execute(RequestInfo requestInfo) {
        //requestInfo.getMainTableInfo().getProperty()[0].getName();
        //requestInfo.getDetailTableInfo().getDetailTable()[0].getRow()[0].getCell()[0].getName()
        //requestInfo.getRequestManager().set
        SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String currentDate=sim.format(new Date()).split(" ")[0];
        String currentTime=sim.format(new Date()).split(" ")[1];

        String nd="";//currentDate.split("-")[0];//年度
        String yf="";//currentDate.split("-")[1];//月份
        Map<String,String> level1Map=new HashMap<String,String>();//保留一级分类的基础信息 比如备注 单位 金额等信息
        RecordSet re=new RecordSet();
        RecordSet re1=new RecordSet();
        String requestid=requestInfo.getRequestid();
        Map<String,String> MainINfo=BaseUtil.getMainRequestbaseByreq(requestid);
        String leve1Req=requestid+"_1";//一级分解 请求ID
        String leve2Req=requestid+"_2";//二级分解  请求ID
        String workflowid=requestInfo.getWorkflowid();
        String formid= BaseUtil.getFormidId(workflowid);
        log.writeLog("ChangeRewardAction "+requestid);
        Map<String,String> bmbz=new HashMap<String,String>();//记录部门备注
        Map<String,String> bmje=new HashMap<String,String>();//记录部门金额
        Map<String,String> hrbmdpjemap=new HashMap<String,String>();//记录划入部门大盘金额
        int lastopter= Util.getIntValue(requestInfo.getLastoperator(),0) ;//提交人员
        String lastopterLastname=new User(lastopter).getLastname();//提交人员姓名
        MainTableInfo mainTableInfo=requestInfo.getMainTableInfo();
        Property[] Property=mainTableInfo.getProperty();
        String Mainreq="";
        String bgfjlx="";//变更分解类型
        for(Property prop:Property){
            String name=prop.getName();
            String value=prop.getValue();
            if("yzjljllc".equalsIgnoreCase(name)){
                Mainreq=value;
            }
            if("fjlx".equalsIgnoreCase(name)){
                bgfjlx=value;
            }
        }
        log.writeLog("Mainreq "+Mainreq);
        List<Map<String, Object>> baseUpd=BaseUtil.BaseUpdDate(Mainreq);//前置变更 数据记录需要前置更新
        Map<String,Map<String,String>> MainMap=getMainDetailInfo(Mainreq);//主流程数据

        Map<String,String> levelreq=BaseUtil.getReqMarkByMainreq(Mainreq);//获取一级分解的  requestid 一级 requestmark
        log.writeLog("baseUpd--"+baseUpd.toString());
        log.writeLog("levelreq--"+levelreq.toString());
        log.writeLog("MainMap--"+MainMap.toString());
        //设置  一级分解  变更的数据   一定要先设置一级分解的数据   在设置二级分解的数据


        //设置第一个明细表数据
        String  lsh=MainINfo.get("mainrequestmark");//"";//审批单号


        //double qzjldwjezj;//其中奖励单位金额合计
        //double zcldjljehj;//中层领导奖励金额合计
        Reward reward=null;
        List<Object> list=new ArrayList<Object>();
        //奖励项目名称(主表)  	奖励单位所属分部	jldwszfb
//        MAP.put("lsh",lsh);
//        MAP.put("nf",nf);
//        MAP.put("yf",yf);
//        MAP.put("sqjlje",sqjlje);
//        MAP.put("ndjhxm",ndjhxm);
//        MAP.put("ndjhys",ndjhys);
//        MAP.put("ndjhsyed",ndjhsyed);
//        MAP.put("qzjldwjezj",qzjldwjezj);
//        MAP.put("zcldjljehj",zcldjljehj);
//        MAP.put("bjldwfb",bjldwfb);
//        MAP.put("jljefb",jljefb);
//        MAP.put("jlfpbz",jlfpbz);
//        MAP.put("jlxmmc",jlxmmc);
//        MAP.put("qzzcldjlje",qzzcldjlje);
//        MAP.put("qzjldwje",qzjldwje);
        if("0".equals(bgfjlx)){//单位分解
            String sql="select a.bgfqr,a.sqrq,a.yjfjhrdpje,a.sqr,b.* from formtable_main_"+formid+" a,formtable_main_"+formid+"_dt4 b  where a.id=b.mainid and a.requestid='"+requestid+"'";
            log.writeLog("sql2 "+sql.toString());
            re.execute(sql);
            while (re.next()){
                int sqr= Util.getIntValue(re.getString("bgfqr"),-1);//申请人
                String sqrq=Util.null2String(re.getString("sqrq")).trim();//申请日期
                int jldw_dt3=Util.getIntValue(re.getString("jldw"),-1);//奖励单位
                double jljey_dt3=Util.getDoubleValue(re.getString("jljey"),0);//奖励金额(元)
                double hrbmdpje_dt3=Util.getDoubleValue(re.getString("yjfjhrdpje"),0);//划入部门大盘金额
                String bz_dt3=Util.null2String(re.getString("bz")).trim();//备注
                int jldwszfb_dt3=Util.getIntValue(re.getString("jldwszfb"),-1);//奖励单位所属分部


                if(jldw_dt3<0||jldwszfb_dt3<0){
                    continue;
                }
                Map<String,String> FBMAP=MainMap.get(jldwszfb_dt3);
                if(FBMAP==null||FBMAP.size()<=0){
                    continue;
                }
                reward=new Reward();
                bmbz.put(jldw_dt3+"",bz_dt3);//奖励单位部门备注  用于二级级分解  备注
                bmje.put(jldw_dt3+"",jljey_dt3+"");//奖励单位部门金额  用于二级级分解  金额
                double qzjldwjezj=Util.getDoubleValue(FBMAP.get("qzjldwjezj"),0);
                double zcldjljehj=Util.getDoubleValue(FBMAP.get("zcldjljehj"),0);
                //String Mainrequestid=Util.null2String(FBMAP.get("Mainrequestid")).trim();
                String jlfpbz=Util.null2String(FBMAP.get("jlfpbz")).trim();
                double  sqjlje=Util.getDoubleValue(FBMAP.get("sqjlje"),0);;//申请奖励金额

                double jljefb=Util.getDoubleValue(FBMAP.get("jljefb"),0);;//奖励金额（分部）
                double qzzcldjlje=Util.getDoubleValue(FBMAP.get("qzzcldjlje"),0);//其中中层领导奖励金额
                double qzjldwje=Util.getDoubleValue(FBMAP.get("qzjldwje"),0);//其中奖励单位金额

                String ndjhxm=Util.null2String(FBMAP.get("ndjhxm")).trim();//年度计划-项目
                double ndjhys=Util.getDoubleValue(FBMAP.get("ndjhys"),0);;//年度计划-预算
                double ndjhsyed=Util.getDoubleValue(FBMAP.get("ndjhsyed"),0);;//年度计划-剩余额度
                String jlxmmc=Util.null2String(FBMAP.get("jlxmmc")).trim();;//奖励项目名称

                reward.setJb(1);
                reward.setMainrequestid(Mainreq);
                reward.setFjlx(Util.getIntValue(bgfjlx,-1));
                reward.setNf(nd);
                reward.setYf(yf);
                reward.setLsh(lsh);
                reward.setSqrq(sqrq);
                reward.setSqdw(jldwszfb_dt3);
                reward.setSqr(sqr);
                reward.setNdjhxm(ndjhxm);
                reward.setNdjhys(ndjhys);
                reward.setNdjhsyed(ndjhsyed);
                reward.setSqjlje(sqjlje);
                reward.setJlxmmc(jlxmmc);
                reward.setHrfbdpje(hrbmdpje_dt3);
                reward.setJljefb(jljefb);
                reward.setQzzcldjlje(qzzcldjlje);
                reward.setQzjldwje(qzjldwje);
                reward.setBjldwfb(jldwszfb_dt3);
                reward.setQzjldwjezj(qzjldwjezj);
                reward.setZcldjljehj(zcldjljehj);

                reward.setJldwbm(jldw_dt3);
                reward.setDwjljebm(jljey_dt3);
                reward.setDwjlbz(bz_dt3);
                reward.setJlfpbz(jlfpbz);

                reward.setWfrequestid(leve1Req);
                reward.setTragwfreq(Mainreq);
                reward.setWfrequestmark(lsh);
                reward.setModedatacreatertype("0");
                reward.setModedatacreater("1");
                reward.setModedatacreatedate(currentDate);
                reward.setModedatacreatetime(currentTime);
                list.add(reward);
            }

        }

        if("1".equals(bgfjlx)){//个人分解
            RecordSet re2=new RecordSet();
            String sql="select a.bgfqr,a.sqrq,a.sqr,a.yjfjhrdpje,b.* from formtable_main_"+formid+" a,formtable_main_"+formid+"_dt3 b  where a.id=b.mainid and a.requestid='"+requestid+"'";
            log.writeLog("sql3 "+sql.toString());
            re2.execute(sql);
            while (re2.next()){
                int sqr= Util.getIntValue(re2.getString("bgfqr"),-1);//申请人
                String sqrq=Util.null2String(re2.getString("sqrq")).trim();//申请日期

                int jldw_dt3=Util.getIntValue(re2.getString("jldw"),-1);//奖励单位
                int xm_dt3=Util.getIntValue(re2.getString("xm"),-1);//姓名
                double jljey_dt3=Util.getDoubleValue(re2.getString("jlje"),0);//奖励金额(元)
                double hrbmdpje_dt3=Util.getDoubleValue(re2.getString("yjfjhrdpje"),0);//划入分部大盘金额
                String bz_dt3=Util.null2String(re2.getString("bz")).trim();//备注
                int jldwszfb_dt3=Util.getIntValue(re2.getString("jldwszfb"),-1);//奖励单位所属分部


                if(jldw_dt3<0||jldwszfb_dt3<0){
                    continue;
                }
                Map<String,String> FBMAP=MainMap.get(jldwszfb_dt3);
                if(FBMAP==null||FBMAP.size()<=0){
                    continue;
                }
                reward=new Reward();
                //bmbz.put(jldw_dt3+"",bz_dt3);//奖励单位部门备注  用于二级级分解  备注
                //bmje.put(jldw_dt3+"",jljey_dt3+"");//奖励单位部门金额  用于二级级分解  金额
                double qzjldwjezj=Util.getDoubleValue(FBMAP.get("qzjldwjezj"),0);
                double zcldjljehj=Util.getDoubleValue(FBMAP.get("zcldjljehj"),0);
                //String Mainrequestid=Util.null2String(FBMAP.get("Mainrequestid")).trim();
                String jlfpbz=Util.null2String(FBMAP.get("jlfpbz")).trim();
                double  sqjlje=Util.getDoubleValue(FBMAP.get("sqjlje"),0);;//申请奖励金额

                double jljefb=Util.getDoubleValue(FBMAP.get("jljefb"),0);;//奖励金额（分部）
                double qzzcldjlje=Util.getDoubleValue(FBMAP.get("qzzcldjlje"),0);//其中中层领导奖励金额
                double qzjldwje=Util.getDoubleValue(FBMAP.get("qzjldwje"),0);//其中奖励单位金额

                String ndjhxm=Util.null2String(FBMAP.get("ndjhxm")).trim();//年度计划-项目
                double ndjhys=Util.getDoubleValue(FBMAP.get("ndjhys"),0);;//年度计划-预算
                double ndjhsyed=Util.getDoubleValue(FBMAP.get("ndjhsyed"),0);;//年度计划-剩余额度
                String jlxmmc=Util.null2String(FBMAP.get("jlxmmc")).trim();;//奖励项目名称

                reward.setJb(1);
                reward.setFjlx(Util.getIntValue(bgfjlx,-1));
                reward.setNf(nd);
                reward.setYf(yf);
                reward.setMainrequestid(Mainreq);
                reward.setLsh(lsh);
                reward.setSqrq(sqrq);
                reward.setSqdw(jldwszfb_dt3);
                reward.setSqr(sqr);
                reward.setNdjhxm(ndjhxm);
                reward.setNdjhys(ndjhys);
                reward.setNdjhsyed(ndjhsyed);
                reward.setSqjlje(sqjlje);
                reward.setJlxmmc(jlxmmc);
                reward.setHrfbdpje(hrbmdpje_dt3);
                reward.setJljefb(jljefb);
                reward.setQzzcldjlje(qzzcldjlje);
                reward.setQzjldwje(qzjldwje);
                reward.setBjldwfb(jldwszfb_dt3);
                reward.setQzjldwjezj(qzjldwjezj);
                reward.setZcldjljehj(zcldjljehj);

                reward.setJldwbm(jldw_dt3);
                reward.setXm(xm_dt3);
                reward.setGrjlje(jljey_dt3);
                reward.setGrjlbz(bz_dt3);
                reward.setJlfpbz(bz_dt3);

                reward.setWfrequestid(leve1Req);
                reward.setTragwfreq(Mainreq);
                reward.setWfrequestmark(lsh);
                reward.setModedatacreatertype("0");
                reward.setModedatacreater("1");
                reward.setModedatacreatedate(currentDate);
                reward.setModedatacreatetime(currentTime);
                list.add(reward);
            }

        }
        //大盘分解

        if("2".equals(bgfjlx)){//大盘分解
            RecordSet re3=new RecordSet();
            String sql="select a.bgfqr,a.sqrq,a.sqr,a.yjfjhrdpje,b.* from formtable_main_"+formid+" a,formtable_main_"+formid+"_dt6 b  where a.id=b.mainid and a.requestid='"+requestid+"'";
            log.writeLog("sql4 "+sql.toString());
            re3.execute(sql);
            while (re3.next()){
                int sqr= Util.getIntValue(re3.getString("bgfqr"),-1);//申请人
                String sqrq=Util.null2String(re3.getString("sqrq")).trim();//申请日期
                double hrbmdpje_dt3=Util.getDoubleValue(re3.getString("yjfjhrdpje"),0);//划入分部大盘金额

                int jldw_dt3=Util.getIntValue(re3.getString("bjldw"),-1);//奖励单位(分部)
                String bz_dt3=Util.null2String(re3.getString("bz")).trim();//备注



                Map<String,String> FBMAP=MainMap.get(jldw_dt3);
                if(FBMAP==null||FBMAP.size()<=0){
                    continue;
                }
                reward=new Reward();
                double qzjldwjezj=Util.getDoubleValue(FBMAP.get("qzjldwjezj"),0);
                double zcldjljehj=Util.getDoubleValue(FBMAP.get("zcldjljehj"),0);
                //String Mainrequestid=Util.null2String(FBMAP.get("Mainrequestid")).trim();
                String jlfpbz=Util.null2String(FBMAP.get("jlfpbz")).trim();
                double  sqjlje=Util.getDoubleValue(FBMAP.get("sqjlje"),0);;//申请奖励金额

                double jljefb=Util.getDoubleValue(FBMAP.get("jljefb"),0);;//奖励金额（分部）
                double qzzcldjlje=Util.getDoubleValue(FBMAP.get("qzzcldjlje"),0);//其中中层领导奖励金额
                double qzjldwje=Util.getDoubleValue(FBMAP.get("qzjldwje"),0);//其中奖励单位金额

                String ndjhxm=Util.null2String(FBMAP.get("ndjhxm")).trim();//年度计划-项目
                double ndjhys=Util.getDoubleValue(FBMAP.get("ndjhys"),0);;//年度计划-预算
                double ndjhsyed=Util.getDoubleValue(FBMAP.get("ndjhsyed"),0);;//年度计划-剩余额度
                String jlxmmc=Util.null2String(FBMAP.get("jlxmmc")).trim();;//奖励项目名称

                reward.setJb(1);
                reward.setNf(nd);
                reward.setFjlx(Util.getIntValue(bgfjlx,-1));
                reward.setYf(yf);
                reward.setLsh(lsh);
                reward.setSqrq(sqrq);
                reward.setSqdw(jldw_dt3);
                reward.setSqr(sqr);
                reward.setNdjhxm(ndjhxm);
                reward.setNdjhys(ndjhys);
                reward.setNdjhsyed(ndjhsyed);
                reward.setSqjlje(sqjlje);
                reward.setJlxmmc(jlxmmc);
                reward.setHrfbdpje(hrbmdpje_dt3);
                reward.setJljefb(jljefb);
                reward.setQzzcldjlje(qzzcldjlje);
                reward.setQzjldwje(qzjldwje);
                reward.setBjldwfb(jldw_dt3);
                reward.setQzjldwjezj(qzjldwjezj);
                reward.setZcldjljehj(zcldjljehj);

                reward.setWfrequestid(leve1Req);
                reward.setTragwfreq(Mainreq);
                reward.setWfrequestmark(lsh);
                reward.setModedatacreatertype("0");
                reward.setModedatacreater("1");
                reward.setModedatacreatedate(currentDate);
                reward.setModedatacreatetime(currentTime);
                list.add(reward);
            }

        }
        //二级分解 个人分解
        log.writeLog("bmbz "+bmbz.toString());
        log.writeLog("bmje "+bmje.toString());
        log.writeLog("hrbmdpjemap "+hrbmdpjemap.toString());
        RecordSet re5=new RecordSet();
        if("0".equals(bgfjlx)){
            String sql="select a.bgfqr,a.sqrq,a.sqr,a.yjfjhrdpje,a.ejfjhrdpje,b.* from formtable_main_"+formid+" a,formtable_main_"+formid+"_dt5 b  where a.id=b.mainid and a.requestid='"+requestid+"'";
            log.writeLog("sql5 "+sql.toString());
            re5.execute(sql);
            while (re5.next()) {
                int sqr= Util.getIntValue(re5.getString("bgfqr"),-1);//申请人
                String sqrq=Util.null2String(re5.getString("sqrq")).trim();//申请日期
                double hrbmdpje_dt3=Util.getDoubleValue(re5.getString("yjfjhrdpje"),0);//划入分部大盘金额


                String  bz_detail5=Util.null2String(re5.getString("bz")); //二级分解备注	bz
                int jldw_detail5=Util.getIntValue(re5.getString("jldw"),-1);//奖励单位jldw(部门)
                int bjlry_detail5=Util.getIntValue(re5.getString("bjlry"),-1);//被奖励人员bjlry
                double jljey_detail5=Util.getDoubleValue(re5.getString("jljey"),0);//奖励金额(元)jljey
                int jldwszfb_detail5=Util.getIntValue(re5.getString("jldwszfb"),-1);//奖励单位所属分部
                double ejfjhrdpje_detail5=Util.getDoubleValue(re5.getString("ejfjhrdpje"),0);//划入部门大盘金额

                Map<String,String> FBMAP=MainMap.get(jldwszfb_detail5);
                if(FBMAP==null||FBMAP.size()<=0){
                    continue;
                }
                String dwjlbz=bmbz.get(jldw_detail5);//部门备注
                double dwjljebm=Util.getDoubleValue(bmje.get(jldw_detail5),0);//部门奖励金额
                double hrdpjebm= Util.getDoubleValue(hrbmdpjemap.get(jldw_detail5),0);//划入部门大盘金额
                double qzjldwjezj=Util.getDoubleValue(FBMAP.get("qzjldwjezj"),0);
                double zcldjljehj=Util.getDoubleValue(FBMAP.get("zcldjljehj"),0);
                //String Mainrequestid=Util.null2String(FBMAP.get("Mainrequestid")).trim();
                String jlfpbz=Util.null2String(FBMAP.get("jlfpbz")).trim();
                double  sqjlje=Util.getDoubleValue(FBMAP.get("sqjlje"),0);;//申请奖励金额

                double jljefb=Util.getDoubleValue(FBMAP.get("jljefb"),0);;//奖励金额（分部）
                double qzzcldjlje=Util.getDoubleValue(FBMAP.get("qzzcldjlje"),0);//其中中层领导奖励金额
                double qzjldwje=Util.getDoubleValue(FBMAP.get("qzjldwje"),0);//其中奖励单位金额

                String ndjhxm=Util.null2String(FBMAP.get("ndjhxm")).trim();//年度计划-项目
                double ndjhys=Util.getDoubleValue(FBMAP.get("ndjhys"),0);;//年度计划-预算
                double ndjhsyed=Util.getDoubleValue(FBMAP.get("ndjhsyed"),0);;//年度计划-剩余额度
                String jlxmmc=Util.null2String(FBMAP.get("jlxmmc")).trim();;//奖励项目名称
                double hrfbdpje=Util.getDoubleValue(FBMAP.get("hrfbdpje"),0);//划入分部大盘


                reward.setJb(2);
                reward.setNf(nd);
                reward.setFjlx(3);
                reward.setMainrequestid(Mainreq);
                reward.setYf(yf);
                reward.setLsh(lsh);
                reward.setSqrq(sqrq);
                reward.setSqdw(jldwszfb_detail5);
                reward.setSqr(sqr);
                reward.setNdjhxm(ndjhxm);
                reward.setNdjhys(ndjhys);
                reward.setNdjhsyed(ndjhsyed);
                reward.setSqjlje(sqjlje);
                reward.setJlxmmc(jlxmmc);
                reward.setHrfbdpje(hrfbdpje);
                reward.setJljefb(jljefb);
                reward.setQzzcldjlje(qzzcldjlje);
                reward.setQzjldwje(qzjldwje);
                reward.setQzjldwjezj(qzjldwjezj);
                reward.setZcldjljehj(zcldjljehj);
                reward.setBjldwfb(jldwszfb_detail5);

                reward.setJldwbm(jldw_detail5);
                reward.setDwjljebm(dwjljebm);
                reward.setHrdpjebm(hrdpjebm);

                reward.setXm(bjlry_detail5);
                reward.setGrjlje(jljey_detail5);
                reward.setGrjlbz(bz_detail5);
                reward.setJlfpbz(jlfpbz);
                reward.setDwjlbz(dwjlbz);
                //reward.setZcldfpbz(zcldfpbz);

                reward.setWfrequestid(leve2Req);
                reward.setTragwfreq(Mainreq);
                reward.setWfrequestmark(lsh);
                reward.setModedatacreatertype("0");
                reward.setModedatacreater("1");
                reward.setModedatacreatedate(currentDate);
                reward.setModedatacreatetime(currentTime);


            }
        }

        log.writeLog(list.toString());
        String mess="";
        if(list.size()>0){
            RewardBaseService RewardBaseService=new RewardBaseService();
            mess=Util.null2String(RewardBaseService.getObjMapList(list,null)) ;
        }
        if(!"".equals(mess)){
            requestInfo.getRequestManager().setMessageid("10001");
            requestInfo.getRequestManager().setMessage("10001");//提醒信息id
            requestInfo.getRequestManager().setMessagecontent("写入建模失败：请联系管理员"+mess);//提醒信息内容
            return Action.FAILURE_AND_CONTINUE;
        }else{
            re1.execute("update formtable_main_"+formid+" set tsfyxr='0' where requestid='"+requestid+"'");
            updModePimion(requestid,46);
        }
        return super.execute(requestInfo);
    }
    /*
    更新建模权限
     */
    public void updModePimion(String wfrequestid,int modelid){
        RecordSet re=new RecordSet();
        re.execute("select * from uf_zjljlhzbb where wfrequestid='"+wfrequestid+"' ");
        while(re.next()){
            int dataid=re.getInt("id");
            ModeRightInfo mri=new ModeRightInfo();
            mri.editModeDataShare(1,modelid , dataid);
        }
    }
    /*
获取主流的部分数据  年度 月份 其中奖励单位金额总计 中层领导奖励金额合计
 */
    public Map<String,String> getMainData(String mainrequestid){
        Map<String,String> map=new HashMap<String,String>();
        RecordSet re=new RecordSet();
        String sql="select * from  uf_zjljlhzbb where wfrequestid='"+mainrequestid+"'";
        re.execute(sql);
        String nf="";
        String yf="";
        String qzjldwjezj="0";
        String zcldjljehj="0";
        String sqjlje="0";

        String jljefb="0";
        String bjldwfb="-1";
        String qzzcldjlje="0";
        String qzjldwje="0";
        String hrfbdpje="0";
        String Mainrequestid="";
        while(re.next()){
            nf=Util.null2String(re.getString("nf")).trim() ;
            yf=Util.null2String(re.getString("yf")).trim();
            Mainrequestid=Util.null2String(re.getString("Mainrequestid")).trim();
            qzjldwjezj=Util.getDoubleValue(re.getString("qzjldwjezj"),0)+"";
            zcldjljehj=Util.getDoubleValue(re.getString("zcldjljehj"),0)+"";
            sqjlje=Util.getDoubleValue(re.getString("sqjlje"),0)+"";
            jljefb=Util.getDoubleValue(re.getString("jljefb"),0)+"";//奖励金额分部
            bjldwfb=Util.getIntValue(re.getString("bjldwfb"),-1)+"";//奖励单位
            qzzcldjlje=Util.getDoubleValue(re.getString("qzzcldjlje"),0)+""; //中层领导奖励金额
            qzjldwje=Util.getDoubleValue(re.getString("qzjldwje"),0)+"";//其中单位奖励金额
            hrfbdpje=Util.getDoubleValue(re.getString("hrfbdpje"),0)+"";//分部大盘金额

        }
        map.put("nf",nf);
        map.put("yf",yf);
        map.put("Mainrequestid",Mainrequestid);
        map.put("qzjldwjezj",qzjldwjezj);
        map.put("zcldjljehj",zcldjljehj);
        map.put("sqjlje",sqjlje);

        map.put("jljefb",jljefb);
        map.put("bjldwfb",bjldwfb);
        map.put("qzzcldjlje",qzzcldjlje);
        map.put("qzjldwje",qzjldwje);
        map.put("hrfbdpje",hrfbdpje);
        return map;
    }
    /*
            获取  主流程的数据    因为不会变更
     */
    public Map<String,Map<String,String>> getMainDetailInfo(String mainrequestid){
        Map<String,Map<String,String>> MainList=new HashMap<String,Map<String,String>>();
        String sql="select distinct lsh,nf,yf,sqjlje,ndjhxm,ndjhys,ndjhsyed,qzjldwjezj,zcldjljehj,jlxmmc,bjldwfb,jljefb,jlfpbz from uf_zjljlhzbb where wfrequestid='"+mainrequestid+"' and isnull(sfyx,-1) in (0,-1)";
        RecordSet re=new RecordSet();
        Map<String,String> MAP=null;
        re.execute(sql);
        while(re.next()){
            String lsh=Util.null2String(re.getString("lsh")).trim();
            String nf=Util.null2String(re.getString("nf")).trim();
            String yf=Util.null2String(re.getString("yf")).trim();
            String sqjlje=Util.null2String(re.getString("sqjlje")).trim();
            String ndjhxm=Util.null2String(re.getString("ndjhxm")).trim();
            String ndjhys=Util.null2String(re.getString("ndjhys")).trim();
            String ndjhsyed=Util.null2String(re.getString("ndjhsyed")).trim();
            String qzjldwjezj=Util.null2String(re.getString("qzjldwjezj")).trim();
            String zcldjljehj=Util.null2String(re.getString("zcldjljehj")).trim();
            String bjldwfb=Util.null2String(re.getString("bjldwfb")).trim();
            String jljefb=Util.null2String(re.getString("jljefb")).trim();
            String jlfpbz=Util.null2String(re.getString("jlfpbz")).trim();
            String jlxmmc=Util.null2String(re.getString("jlxmmc")).trim();
            String hrfbdpje=Util.getDoubleValue(re.getString("hrfbdpje"),0)+"";//分部大盘金额

            String qzzcldjlje=Util.null2String(re.getString("qzzcldjlje")).trim();
            String qzjldwje=Util.null2String(re.getString("qzjldwje")).trim();
            MAP.put("lsh",lsh);
            MAP.put("nf",nf);
            MAP.put("yf",yf);
            MAP.put("sqjlje",sqjlje);
            MAP.put("ndjhxm",ndjhxm);
            MAP.put("ndjhys",ndjhys);
            MAP.put("ndjhsyed",ndjhsyed);
            MAP.put("qzjldwjezj",qzjldwjezj);
            MAP.put("zcldjljehj",zcldjljehj);
            MAP.put("bjldwfb",bjldwfb);
            MAP.put("jljefb",jljefb);
            MAP.put("jlfpbz",jlfpbz);
            MAP.put("jlxmmc",jlxmmc);
            MAP.put("qzzcldjlje",qzzcldjlje);
            MAP.put("qzjldwje",qzjldwje);
            MAP.put("hrfbdpje",hrfbdpje);
            MainList.put(bjldwfb,MAP);
        }
        return MainList;
    }
}
